//
//  StatusViewModel.swift
//  weibo
//
//  Created by Qing on 2017/7/24.
//  Copyright © 2017年 成哥哥. All rights reserved.
//

import Foundation

class StatusListViewModel {
    
    //懒加载可变数组，存放模型数据
    lazy var statusList = [StatusViewModel]()
    
    /// 请求用户主页数据
    func loadStatuses(finisehd: @escaping (_ issuccess: Bool) -> ()) {
        
        NetworkTool.sharedTool.loadStatuses { (result, error) in
            
            //如果请求没有失败，则继续执行下方的代码
            if error != nil {
                print("加载出错了")
                finisehd(false)
                return
            }
            
            //1.转换json格式为字典
            guard let array = result as? [String: Any] else {
                
                print("格式出错")
                finisehd(false)
                return
            }
            
            //可变数组，用于存放数据
            var list = [StatusViewModel]()
            
            //2.数据转模型
            for data in array["statuses"] as! [Any] {
                //添加成员
                list.append(StatusViewModel(status: Statuses(dict: data as! [String : Any])))
                
            }
            
            //3.拼接信息，用于上拉/下拉刷新
            self.statusList = list + self.statusList
            
            //4.完成回调
            finisehd(true)
        }
    }
}
